package javase2.day07.demo03;
/*
使用Runnable接口实现多线程
以函数式编程思想来看：这是冗余的代码
    目的只有一个执行线程任务：System.out.println(Thread.currentThread().getName()+"新的线程任务执行");
 */
public class Demo01Runnable {
    public static void main(String[] args) {
        //创建RunnableImpl实现类对象
        RunnableImpl r = new RunnableImpl();
        //创建Thread对象，传递Runnable实现类对象
        Thread t = new Thread(r);
        //Thread对象调用start方法开启线程任务
        t.start();

        //简化代码：使用匿名内部类
        Runnable r1= new Runnable(){
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName()+"新的线程任务执行");
            }
        };
        new Thread(r1).start();

        //再简化
        new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName()+"新的线程任务执行");
            }
        }).start();
        /*
Thread-0新的线程任务执行
Thread-1新的线程任务执行
Thread-2新的线程任务执行
         */
    }
}
